package com.gpframework.module.module.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gpframework.common.core.domain.BasePlusEntity;
import com.gpframework.module.module.domain.req.BrandStoreUpdate;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @ClassName BrandStore
 * @Author gpframework
 * @Date 2022-03-25
 * @Version 1.0.0
 * @Description 门店 PO对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("brand_store")
public class BrandStore extends BasePlusEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long storeId;
    /**
     * 门店编码
     */
    private String storeNo;
    /**
     * 品牌id
     */
    private Long brandId;
    /**
     * 品牌名称
     */
    private String brandName;
    /**
     * 订单id（最新）
     */
    private Long orderId;
    /**
     * 系统用户id
     */
    private Long brandUserId;
    /**
     * 系统账号
     */
    private String userName;
    /**
     * 销售员id
     */
    private Long salesId;
    /**
     * 平台销售名称
     */
    private String salesName;
    /**
     * 区域ids
     */
    private String areaIds;
    /**
     * 区域名称
     */
    private String areaNames;
    /**
     * 推荐人
     */
    private String referrerUserName;
    /**
     * 门店名称
     */
    private String storeName;
    /**
     * 门店网址
     */
    private String storeWebsite;
    /**
     * 门店介绍
     */
    private String storeIntroduce;
    /**
     * 门店logo
     */
    private String storeLogo;
    /**
     * 门店地址
     */
    private String storeAddress;
    /**
     * 门店经度
     */
    private String storeLongitude;
    /**
     * 门店纬度
     */
    private String storeLatitude;
    /**
     * 门店联系电话
     */
    private String storeMobile;
    /**
     * 门店邮箱
     */
    private String storeEmail;
    /**
     * 门店小程序二维码
     */
    private String storeQrcodeApp;
    /**
     * 门店支付二维码
     */
    private String storeQrcodePay;
    /**
     * 营业执照
     */
    private String licenseImage;
    /**
     * 法人
     */
    private String leaderName;
    /**
     * 联系方式（法人）
     */
    private String leaderMobile;
    /**
     * 是否试用过;0 否。1 是。
     */
    private String isTryout;
    /**
     * 试用多久（小时）。默认1天。
     */
    private Integer tryoutHour;
    /**
     * 短信总数量
     */
    private Integer smsTotalNum;
    /**
     * 短信发送数量
     */
    private Integer smsSendNum;
    /**
     * 短信剩余数量
     */
    private Integer smsNum;
    /**
     * 合同剩余数量
     */
    private Integer contractNum;
    /**
     * 有效开始时间
     */
    private Date effTimeStart;
    /**
     * 有效结束时间
     */
    private Date effTimeEnd;
    /**
     * 使用期限(天)
     */
    private Integer useTime;

    /**
     * 门店状态;-10 过期。0 未开业。10 营业中。20 暂停使用。
     */
    private String storeStatus;
    /**
     * 显示的门店状态 20100 营业中 20101 暂停营业
     */
    private String showStatus;
    /**
     * 审核状态;1审核中、2审核通过、3不通过、4禁用
     */
    private String auditStatus;
    /**
     * 门店联系方式json数据
     */
    private String contactInformation;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 备注
     */
    private String remarks;

    public BrandStore(BrandStoreUpdate brandStoreUpdate) {
        this.storeId = brandStoreUpdate.getStoreId();
        this.showStatus = brandStoreUpdate.getShowStatus();
        this.areaIds = brandStoreUpdate.getAreaIds();
        this.areaNames = brandStoreUpdate.getAreaNames();
        this.storeAddress = brandStoreUpdate.getStoreAddress();
        this.contactInformation = brandStoreUpdate.getContactInformation();
        this.storeLatitude = brandStoreUpdate.getStoreLatitude();
        this.storeLongitude = brandStoreUpdate.getStoreLongitude();
    }
}
